// Copyright (c) 2024-present AI-Labs

// @ ts-nocheck
import { EditorEvents } from "@tiptap/core";
import { UAIEditorEventListener } from "@/interfaces/index.ts";
import { UAIEditorOptions } from "@/types/index.ts";

/**
 * 插件气泡按钮定义
 */
export abstract class AppPluginBubbleMenuButton extends HTMLElement implements UAIEditorEventListener {
    abstract bubbleMenuType: "audio" | "file" | "image" | "video" | "code";
    abstract onCreate(event: EditorEvents['create'], options: UAIEditorOptions): void;
    abstract onTransaction(event: EditorEvents['transaction'], options: UAIEditorOptions): void;
    abstract onEditableChange(editable: boolean): void;
}